Розробка алгоритму і програми, для обчислення мінтермів для логічної функції заданої логічним виразом

Інформація про навчальний заклад

ВУЗ:
Вінницькій національний технічний університет
Інститут:
Не вказано
Факультет:
Комп'ютерна інженерія
Кафедра:
Не вказано

Інформація про роботу

Рік:
2012
Тип роботи:
Лабораторна робота
Предмет:
Інформаційні технології

Частина тексту файла

Міністерство освіти і науки, молоді та спорту України Вінницький національний технічний університет Інститут Інформаційних Технологій та Комп’ютерної Інженерії Лабараторна робота № 8. Тема: Розробка алгоритму і програми, для обчислення мінтермів для логічної функції заданої логічним виразом. м.Вінниця 2012 Мета: Набути навичок для обчислення мінтермів для логічної функції заданої логічним виразом, та програмної реалізації досліджуваного алгоритму. Хід роботи: 1.Вивчити теоретичний матеріал. 2.Розробити програму для обчислення мінтермів для логічної функції заданої логічним виразом. 3.Побудувати блок-схему. 4.Приклади тестування програми. 5.Висновок. 6.Лістинг програми. 3.Блок-схема / Рисунок 1. / Рисунок 2. 5. Висновок: набуто навичок обчислення мінтермів для логічної функції заданої логічним виразом. Програмно реалізовано даний алгоритм. 6. Лістинг програми (додаток). uses crt; type sim=array[1..6] of string; const permx:sim=('X1','X2','X3','X4','X5','X6'); permnx:sim=('nX1','nX2','nX3','nX4','nX5','nX6'); var i,n:integer; s:string; a: array[1..100] of string; {повертає кількість непорожніх елементів масиву} function kol(a:array[1..100] of string): integer; var i,k:integer; begin k:=0; for i:=1 to 100 do begin if length(a[i])>0 then k:=k+1; end; kol:=k; end; {витягує перше слово} function token(s:string): string; var res: string; begin res:=''; if pos('+',s)>0 then begin repeat res:=res+copy(s,1,1); delete(s,1,1); until pos('+',s)=1; end else begin repeat res:=res+copy(s,1,1); delete(s,1,1); until s=''; end; token:=res; end; {видаляє перше слово і знак '+'} function tokost(s:string): string; begin if pos('+',s)>0 then begin repeat delete(s,1,1); until pos('+',s)=1; delete(s,1,1); end else begin repeat delete(s,1,1); until s=''; end; tokost:=s; end; {процедура для перетворення аргументів} procedure args(n:integer; s:string; permx:array[1..6] of string; permnx:array[1..6] of string; povx:array[1..100] of string); var p,k,j,i:integer; x,nx:array[1..100] of string; begin for i:=1 to 100 do begin x[i]:=''; nx[i]:=''; end; for j:=1 to n do begin for i:=1 to 100 do begin if length(povx[i])>0 then begin if pos(inttostr(j),povx[i])=0 then begin x[i]:=povx[i]+'*'+permx[j]; nx[i]:=povx[i]+'*'+permnx[j]; end; if pos(inttostr(j),povx[i])>0 then begin x[i]:=povx[i]; end; end; end; for k:=1 to 100 do begin if length(x[k])>0 then povx[k]:=x[k]; end; for p:=1 to 100 do begin if length(nx[p])>0 then povx[kol(povx)+p]:=nx[p]; end; end; for i:=1 to 100 do begin if length(povx[i])>0 then write(povx[i],'+'); end; end; {основа програми} BEGIN writeln('Введіть кількість аргументів (від 2 до 6):'); readln(n); writeln('Введіть функцію ДНФ від ',n,' аргументів:'); readln(s); write('ДДНФ-',n,'='); for i:=1 to 100 do begin a[i]:=token(s); s:=tokost(s); end; args(n,s,permx,permnx,a); END.
Антиботан аватар за замовчуванням

05.02.2014 22:02

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини